/**
 * <copyright>
 * </copyright>
 *

 */
package hu.bme.mit.androtext.gui.androGuiLang;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Preference</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getTitle <em>Title</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getKey <em>Key</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getSummary <em>Summary</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getEnabled <em>Enabled</em>}</li>
 *   <li>{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getPersistent <em>Persistent</em>}</li>
 * </ul>
 * </p>
 *
 * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference()
 * @model
 * @generated
 */
public interface Preference extends EObject
{
  /**
   * Returns the value of the '<em><b>Title</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Title</em>' attribute isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Title</em>' attribute.
   * @see #setTitle(String)
   * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference_Title()
   * @model
   * @generated
   */
  String getTitle();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getTitle <em>Title</em>}' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Title</em>' attribute.
   * @see #getTitle()
   * @generated
   */
  void setTitle(String value);

  /**
   * Returns the value of the '<em><b>Key</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Key</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Key</em>' containment reference.
   * @see #setKey(PreferenceKeyAttribute)
   * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference_Key()
   * @model containment="true"
   * @generated
   */
  PreferenceKeyAttribute getKey();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getKey <em>Key</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Key</em>' containment reference.
   * @see #getKey()
   * @generated
   */
  void setKey(PreferenceKeyAttribute value);

  /**
   * Returns the value of the '<em><b>Summary</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Summary</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Summary</em>' containment reference.
   * @see #setSummary(PreferenceSummaryAttribute)
   * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference_Summary()
   * @model containment="true"
   * @generated
   */
  PreferenceSummaryAttribute getSummary();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getSummary <em>Summary</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Summary</em>' containment reference.
   * @see #getSummary()
   * @generated
   */
  void setSummary(PreferenceSummaryAttribute value);

  /**
   * Returns the value of the '<em><b>Enabled</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Enabled</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Enabled</em>' containment reference.
   * @see #setEnabled(PreferenceEnabledAttribute)
   * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference_Enabled()
   * @model containment="true"
   * @generated
   */
  PreferenceEnabledAttribute getEnabled();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getEnabled <em>Enabled</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Enabled</em>' containment reference.
   * @see #getEnabled()
   * @generated
   */
  void setEnabled(PreferenceEnabledAttribute value);

  /**
   * Returns the value of the '<em><b>Persistent</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <p>
   * If the meaning of the '<em>Persistent</em>' containment reference isn't clear,
   * there really should be more of a description here...
   * </p>
   * <!-- end-user-doc -->
   * @return the value of the '<em>Persistent</em>' containment reference.
   * @see #setPersistent(PreferencePersistentAttribute)
   * @see hu.bme.mit.androtext.gui.androGuiLang.AndroGuiLangPackage#getPreference_Persistent()
   * @model containment="true"
   * @generated
   */
  PreferencePersistentAttribute getPersistent();

  /**
   * Sets the value of the '{@link hu.bme.mit.androtext.gui.androGuiLang.Preference#getPersistent <em>Persistent</em>}' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @param value the new value of the '<em>Persistent</em>' containment reference.
   * @see #getPersistent()
   * @generated
   */
  void setPersistent(PreferencePersistentAttribute value);

} // Preference
